/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package StackModel.Stack;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see StackModel.Stack.StackFactory
 * @model kind="package"
 * @generated
 */
public interface StackPackage extends EPackage {
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "Stack";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http:///StackModel/Stack.ecore";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "StackModel.Stack";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  StackPackage eINSTANCE = StackModel.Stack.impl.StackPackageImpl.init();

  /**
   * The meta object id for the '{@link StackModel.Stack.impl.StackImpl <em>Stack</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see StackModel.Stack.impl.StackImpl
   * @see StackModel.Stack.impl.StackPackageImpl#getStack()
   * @generated
   */
  int STACK = 0;

  /**
   * The feature id for the '<em><b>Children</b></em>' attribute list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STACK__CHILDREN = 0;

  /**
   * The feature id for the '<em><b>Max Cnt</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STACK__MAX_CNT = 1;

  /**
   * The number of structural features of the '<em>Stack</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STACK_FEATURE_COUNT = 2;

  /**
   * Returns the meta object for class '{@link StackModel.Stack.Stack <em>Stack</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Stack</em>'.
   * @see StackModel.Stack.Stack
   * @generated
   */
  EClass getStack();

  /**
   * Returns the meta object for the attribute list '{@link StackModel.Stack.Stack#getChildren <em>Children</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute list '<em>Children</em>'.
   * @see StackModel.Stack.Stack#getChildren()
   * @see #getStack()
   * @generated
   */
  EAttribute getStack_Children();

  /**
   * Returns the meta object for the attribute '{@link StackModel.Stack.Stack#getMaxCnt <em>Max Cnt</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Max Cnt</em>'.
   * @see StackModel.Stack.Stack#getMaxCnt()
   * @see #getStack()
   * @generated
   */
  EAttribute getStack_MaxCnt();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  StackFactory getStackFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals {
    /**
     * The meta object literal for the '{@link StackModel.Stack.impl.StackImpl <em>Stack</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see StackModel.Stack.impl.StackImpl
     * @see StackModel.Stack.impl.StackPackageImpl#getStack()
     * @generated
     */
    EClass STACK = eINSTANCE.getStack();

    /**
     * The meta object literal for the '<em><b>Children</b></em>' attribute list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute STACK__CHILDREN = eINSTANCE.getStack_Children();

    /**
     * The meta object literal for the '<em><b>Max Cnt</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute STACK__MAX_CNT = eINSTANCE.getStack_MaxCnt();

  }

} //StackPackage
